use std::collections::HashMap;

fn main() {
    // 创建商店库存
    let mut shop_inventory = HashMap::new();
    
    // 初始化商品
    shop_inventory.insert("生命药水", 5);   // 5瓶库存
    shop_inventory.insert("魔法卷轴", 3);   // 3个库存
    
    // 玩家购买行为
    let purchase = vec!["生命药水", "魔法卷轴", "未知药剂"];
    
    for item in purchase {
        // 使用entry API更新库存
        shop_inventory.entry(item)
            .and_modify(|count| *count -= 1)
            .or_insert(0); // 处理不存在的商品
        
        println!("{}库存更新：", item);
        println!("当前库存状态：{:#?}", shop_inventory);
    }
    
    // 每日补货
    shop_inventory.insert("生命药水", 10); // 直接覆盖补货
    println!("\n=== 补货后库存 ===");
    for (item, count) in &shop_inventory {
        println!("{}：{}件", item, count);
    }
}
